Ví dụ đơn giản Hello World C_Sharp_(ngôn_ngữ_lập_trình)

Dưới đây là một chương trình C# rất đơn giản, với ví dụ "Hello World" kinh điển:

//Trước C# 9.0using System;class ExampleClass{    static void Main(string[] args)    {        Console.WriteLine("Hello World!");    }}//Kể từ C# 9.0 ta có thể viết ngắn gọn hơn nhờ tính năng Top-level statementsusing System;Console.WriteLine("Hello World!");

Chương trình này sẽ in ra màn hình console kết quả như sau:

Hello World!

Ở đoạn code trên, mỗi dòng code có một mục đích đặc biệt, chi tiết như sau:

Đầu tiên, dòng sau báo cho trình biên dịch biết chương trình sẽ sử dụng thư viện System.

using System;

Tiếp theo, dòng sau khai báo một lớp.

class ExampleClass

Hàm Main là hàm khởi động của chương trình. Trong C#, hầu như tất cả các hàm đều nằm trong một lớp nào đó. Do đó, Main có thể được đặt ở bất kỳ lớp nào trong chương trình, và khi có nhiều hàm Main, lập trình viên sẽ phải cấu hình cho trình biên dịch biết rằng hàm Main nào sẽ là hàm khởi động. Trong trường hợp này, chương trình của chúng ta sẽ sử dụng hàm Main ở class ExampleClass, hàm này trả về void (không có giá trị nào cả).

static void Main(string[] args)

Vì được khai báo là static, lập trình viên có thể gọi hàm này từ đoạn code khác với cú pháp

ExampleClass.Main()

Cuối cùng, câu lệnh sau là lệnh in ra màn hình của C#:

Console.WriteLine("Hello World!");

Console là một lớp static ở namespace System. Lớp này cung cấp các interface chuẩn cho việc nhập, xuất và báo lỗi của chương trình C#. Chương trình của chúng ta gọi hàm WriteLine và in ra dòng "Hello World!"

Thông thường mặc định khi tạo chương trình C#, các IDE sẽ tạo các code mẫu sẵn, chúng ta thực sự chỉ cần viết 1 dòng lệnh duy nhất là Console.WriteLine("Hello World!"); để in ra dòng chữ Hello World!

Tài liệu tham khảo

WikiPedia: C_Sharp_(ngôn_ngữ_lập_trình) http://www.computerworld.com.au/article/261958/a-z... http://www.computerworld.com.au/article/261958/a-z... http://www.barrycornelius.com/papers/java5/ http://www.barrycornelius.com/papers/java5/onefile... http://chapel.cray.com/spec/spec-0.98.pdf http://www.dammio.com/2016/12/03/phan-1-linq-gioi-... http://www.danielmoth.com/Blog/using-c-30-from-net... http://www.dotnetspace.com http://www.jameskovacs.com/blog/CNETHistoryLesson.... http://www.levenez.com/lang/